//package edu.cmu.javadb;
//
//import java.util.*;
//
//import edu.cmu.javadb.plan.condition.*;
//
//public class MView<T extends BaseRecord> extends View<T> {
//	public MView(VCollection<T> collection) {
//		super(collection);
//	}
//	
//	private Collection<T> result = null;
//
//	public Collection<T> execute() {
//		if (result == null)
//			result = collection.query(cond);
//		return result;
//	}
//
//	protected void update(T r, String attName, Object newVal) {
//		if (result.contains(r) && !cond.satisfy(r)) {
//			result.remove(r);
//		}
//		if (!result.contains(r) && cond.satisfy(r)) {
//			result.add(r);
//		}
//	}
//	
//	protected void remove(T r) {
//		result.remove(r);
//	}
//
//	@Override
//	public Iterator<T> iterator() {
//		return result.iterator();
//	}
//
//	public void showAll() {
//		for (T rec : execute()) {
//			System.out.print(rec + " ");
//			System.out.println();
//		}
//	}
//}
